OBJECT Report 69900 List Template { OBJECT-PROPERTIES { Date=06/21/17; Time=[ 1:43:58 PM]; Modified=Yes; Version List=FORNAV2.0.0.1245/1245; } PROPERTIES { OnInitReport=BEGIN ;ReportForNav:= ReportForNav.Report(CurrReport.OBJECTID,CurrReport.LANGUAGE,SERIALNUMBER,USERID,COMPANYNAME);ReportForNav.Init; END; OnPreReport=BEGIN ;ReportForNav.OpenDesigner:=ReportForNavOpenDesigner;IF NOT ReportForNav.Pre THEN CurrReport.QUIT; END; OnPostReport=BEGIN ;ReportForNav.Post; END; } DATASET { { 2 ; ;DataItem;List ; DataItemTable=Table18 } } REQUESTPAGE { PROPERTIES { } CONTROLS { { 1900000001;0;Container; ContainerType=ContentArea } { 1900000002;1;Group ; CaptionML=[CSY=Mo§nosti; DAN=Indstillinger; DEU=Optionen; ENU=Options; FIN=Vaihtoehdot; ISL=Valkostir; NLD=Opties; NOR=Alternativer; SVE=Alternativ; ITS=Opzioni; NLB=Opties] } { 5000;2 ;Field ; Name=ForNavOpenDesigner; CaptionML=ENU=Open Designer; SourceExpr=ReportForNavOpenDesigner; Visible=ReportForNavAllowDesign } } } LABELS { } CODE { VAR ReportForNav@5000 : DotNet "'ForNav.Reports.2.0.0.1245, Version=2.0.0.1245, Culture=neutral, PublicKeyToken=5284c1af2984feb0'.ForNav.Report" WITHEVENTS; ReportForNavClient@5003 : DotNet "'ForNav.Reports.2.0.0.1245, Version=2.0.0.1245, Culture=neutral, PublicKeyToken=5284c1af2984feb0'.ForNav.Report" RUNONCLIENT; ReportForNavDialog@5001 : Dialog; ReportForNavOpenDesigner@5002 : Boolean; ReportForNavAllowDesign@5004 : Boolean INDATASET; EVENT ReportForNav@5000::OnInit@5002(); VAR ReportLayoutSelection@1000 : Record 9651; CustomReportLayout@1001 : Record 9650; CustomLayoutID@1002 : Variant; InStream@1004 : InStream; EmptyLayout@1003 : Text; BEGIN EmptyLayout := FORMAT(ReportLayoutSelection."Custom Report Layout Code"); CustomLayoutID := ReportLayoutSelection."Custom Report Layout Code"; ReportForNav.OData := GETURL(CLIENTTYPE::OData, COMPANYNAME, OBJECTTYPE::Page, 7702); IF FORMAT(ReportLayoutSelection.GetTempLayoutSelected) <> EmptyLayout THEN CustomLayoutID := ReportLayoutSelection.GetTempLayoutSelected ELSE IF ReportLayoutSelection.HasCustomLayout(ReportForNav.ReportID) = 1 THEN CustomLayoutID := ReportLayoutSelection."Custom Report Layout Code"; IF (FORMAT(CustomLayoutID) <> EmptyLayout) AND CustomReportLayout.GET(CustomLayoutID) THEN BEGIN CustomReportLayout.TESTFIELD(Type,CustomReportLayout.Type::RDLC); CustomReportLayout.CALCFIELDS(Layout); CustomReportLayout.Layout.CREATEINSTREAM(InStream,TEXTENCODING::UTF8); ReportForNav.IsCustomLayout := TRUE; END ELSE REPORT.RDLCLAYOUT(ReportForNav.ReportID,InStream); ReportForNav.LoadRdlc(InStream); IF COPYSTR(LOWERCASE(GETURL(CLIENTTYPE::Current, COMPANYNAME, OBJECTTYPE::Codeunit, 1)), 1, 14) = 'dynamicsnav://' THEN BEGIN ReportForNav.CheckClientAddIn(); ReportForNavClient := ReportForNavClient.Report(ReportForNav.Definition); ReportForNavAllowDesign := ReportForNavClient.HasDesigner AND NOT ReportForNav.ParameterMode; END; END; EVENT ReportForNav@5000::OnSave@5010(Base64Layout@1000 : Text); VAR CustomReportLayout@1002 : Record 9650; ReportLayoutSelection@1003 : Record 9651; LayoutId@1004 : Variant; TempBlob@1007 : Record 99008535; OutStream@1006 : OutStream; Bstr@1005 : BigText; EmptyLayout@1001 : Text; BEGIN EmptyLayout := FORMAT(ReportLayoutSelection."Custom Report Layout Code"); LayoutId := ReportLayoutSelection."Custom Report Layout Code"; IF ReportLayoutSelection.HasCustomLayout(ReportForNav.ReportID) = 1 THEN BEGIN IF FORMAT(ReportLayoutSelection.GetTempLayoutSelected) <> EmptyLayout THEN BEGIN LayoutId := ReportLayoutSelection.GetTempLayoutSelected; END ELSE BEGIN IF ReportLayoutSelection.GET(ReportForNav.ReportID, COMPANYNAME) THEN BEGIN LayoutId := ReportLayoutSelection."Custom Report Layout Code"; END; END; END ELSE BEGIN IF CONFIRM('Default custom layout not found. Create one?') THEN; END; IF FORMAT(LayoutId) <> EmptyLayout THEN BEGIN TempBlob.Blob.CREATEOUTSTREAM(OutStream); Bstr.ADDTEXT(Base64Layout); Bstr.WRITE(OutStream); CustomReportLayout.GET(LayoutId); CustomReportLayout.ImportLayoutBlob(TempBlob, 'RDL'); END; END; EVENT ReportForNav@5000::OnParameters@5008(Parameters@1000 : Text); BEGIN ReportForNav.Parameters := REPORT.RUNREQUESTPAGE(ReportForNav.ReportID, Parameters); END; EVENT ReportForNav@5000::OnPreview@5009(Parameters@1000 : Text;FileName@1005 : Text); VAR PdfFile@1002 : File; InStream@1003 : InStream; OutStream@1004 : OutStream; BEGIN COMMIT; PdfFile.CREATETEMPFILE; PdfFile.CREATEOUTSTREAM(OutStream); REPORT.SAVEAS(ReportForNav.ReportID, Parameters, REPORTFORMAT::Pdf, OutStream); PdfFile.CREATEINSTREAM(InStream); ReportForNavClient.ShowDesigner; IF ReportForNav.IsValidPdf(PdfFile.NAME) THEN DOWNLOADFROMSTREAM(InStream, '', '', '', FileName); PdfFile.CLOSE; END; EVENT ReportForNav@5000::OnPreSection@5012(DataItemId@1000 : Text;SectionId@1001 : Text); BEGIN END; EVENT ReportForNav@5000::OnPostSection@50013(DataItemId@1000 : Text;SectionId@1001 : Text); BEGIN END; EVENT ReportForNav@5000::OnClientOperation@5008(Args@1000 : DotNet "'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Array"); VAR op@1001 : Text; FileMgmt@1002 : Codeunit 419; Process@1006 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Diagnostics.Process" RUNONCLIENT; PathObj@1005 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.IO.Path" RUNONCLIENT; FileVersionInfo@1003 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Diagnostics.FileVersionInfo" RUNONCLIENT; DirectoryHelper@1004 : DotNet "'mscorlib'.System.IO.Directory" RUNONCLIENT; BEGIN op := Args.GetValue(0); CASE op OF 'TempPath': ReportForNav.Result := PathObj.GetTempPath(); 'FileExists': ReportForNav.Result := FileMgmt.ClientFileExists(Args.GetValue(1)); 'DirectoryExists': ReportForNav.Result := FileMgmt.ClientDirectoryExists(Args.GetValue(1)); 'ProcessLocation': ReportForNav.Result := Process.GetCurrentProcess().MainModule.FileName; 'FileVersion': ReportForNav.Result := FileVersionInfo.GetVersionInfo(Args.GetValue(1)).FileVersion; 'DeleteFile': FileMgmt.DeleteClientFile(Args.GetValue(1)); 'DeleteDirectory': IF STRLEN(Args.GetValue(1)) > 20 THEN IF FileMgmt.ClientDirectoryExists(Args.GetValue(1)) THEN DirectoryHelper.Delete(FORMAT(Args.GetValue(1)), TRUE); END; END; EVENT ReportForNav@5000::OnCheckForNavClientVersion@5007(); BEGIN ReportForNavClient := ReportForNavClient.Report(); IF ReportForNav.MyFileVersion <> ReportForNavClient.MyFileVersion THEN ERROR('You have version %1 of the Reports ForNAV assembly here:\\%2\\Please close your NAV client and update it to version %3.', ReportForNavClient.MyFileVersion, ReportForNavClient.MyFileName, ReportForNav.MyFileVersion); END; EVENT ReportForNav@5000::OnSelectPrinter@5006(); BEGIN ReportForNav.PrinterSettings.PageSettings := ReportForNavClient.SelectPrinter(ReportForNav.PrinterSettings.PrinterName,ReportForNav.PrinterSettings.ShowPrinterDialog,ReportForNav.PrinterSettings.PageSettings); END; EVENT ReportForNav@5000::OnPrint@5005(InStream@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.IO.Stream"); VAR ClientFileName@1001 : Text[255]; BEGIN DOWNLOADFROMSTREAM(InStream, '', '', '', ClientFileName); ReportForNavClient.Print(ClientFileName); END; EVENT ReportForNav@5000::OnDesign@5007(Data@1001 : Text); BEGIN ReportForNavClient.Data := Data; WHILE ReportForNavClient.DesignReport DO BEGIN ReportForNav.HandleRequest(ReportForNavClient.GetRequest()); SLEEP(100); END; END; EVENT ReportForNav@5000::OnView@5008(ClientFileName@1000 : Text;Parameters@1001 : Text;ServerFileName@1002 : Text); VAR ServerFile@1003 : File; ServerInStream@1004 : InStream; BEGIN ServerFile.OPEN(ServerFileName); ServerFile.CREATEINSTREAM(ServerInStream); DOWNLOADFROMSTREAM(ServerInStream,'','','',ClientFileName); END; EVENT ReportForNav@5000::OnMessage@5009(Operation@1000 : Text;Parameter@1001 : Text;ParameterNo@1002 : Integer); BEGIN CASE Operation OF 'Open' : ReportForNavDialog.OPEN(Parameter); 'Update' : ReportForNavDialog.UPDATE(ParameterNo,Parameter); 'Close' : ReportForNavDialog.CLOSE(); 'Message' : MESSAGE(Parameter); 'Error' : ERROR(Parameter); END; END; EVENT ReportForNav@5000::OnPrintPreview@5011(InStream@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.IO.Stream";Preview@1001 : Boolean); VAR ClientFileName@1002 : Text[255]; BEGIN DOWNLOADFROMSTREAM(InStream, '', '', '', ClientFileName); WHILE ReportForNavClient.PrintPreviewDialog(ClientFileName,ReportForNav.PrinterSettings.PrinterName,Preview) DO BEGIN ReportForNav.HandlePrintPreviewRequest(ReportForNavClient.GetPrintPreviewRequest()); SLEEP(100); END; END; BEGIN END. } RDLDATA { fRIAAK1Y23LbNhB970z/gcNO62RGoQDwisRKxpbjRFNfNJbsdPoGEaDNmiIUEnKsPPVr+mH9ki54kSiZcqQ00oxtLJfLs2cPFksfvnucJsaDyPJYpj0TW8g0RBpKHqe3PXOuoleB+e7tzz8d/qEydiVmMlP5GVvIuRqJLGZJ/FVkxurPm2UgxyKWq6OtmUzjgk1Fz6wincrsgj2YRl+mKpPJeDGDayfi4f3jLBN5bjUeal0PGkvSMba4PejHdOqnGj2jRtIx+vNEzTMBtlTM4ZakYwznkyQOfxeLsbwX2pv7IQtEQJAfOcJBgP8kzmcJW5S4z+JcGWMxBYsSprGWxjJRYiH4YuK4pnE5+UuE6kL2TBchHe40Fgn/JCbA2UMciuss6Zl3Ss1ed7tc5PdKzl5RNWeBc//aR07QPVmkbBqH+cXRDUaoe3nCFOv25XTG0sWLg/7V5cX16FeCBqkSWcoUAGAJrM8Utw5emsaQ3YqPIr69U4CL+qi0fIq5ugMD1ojOWXYbpzksEe0YgdsxCELFD0ALhemZR7q8HcOfKaBjFoOn69TJX6cxeIxFqu7yy+joPE6SeCoADOSeDjNReo3CLJ6BXwV8kEYymxZorQ9CvXj55rdfHk/0j6M3LS59loQFb/mLg2Ec6iIevHxjgiwN4/CYpTwv/oTFQIkpNla12pBWWShNoXbUd0JC1eqGZc37avOYTRIwFr9wsGG/icWXnrkynsXpvV5fic+ncQIkfBRM76TzM20dcGDOrKBuIG+gvxJRz7RbketwIitxl2BLC27Wpc/S0V1WIIlYkoNMh7BS5+zxMg3FUGRaAevXLtP30AIW5QWVzcE+im9BTsA0YJkwjkLGOBNcuJTbLOARQwjzyJ9wwngUEhaJCdwEWoeCbUAr9XcKgahnBb5rNnKGrKs88zXrOhtOKxtj8aiO5WNNRdQ0ujqDrwIeigMUWDZ8/A6FXenDLnShjmcyLMR1mkgGwgTBoyaJa8LHjlb+MQvv+zKRmZYIJHScaJ6GjJe90u6U3+L2Y5lB7rCnjqVScmoaGlbP/PfvfzTWUjAjoQpRl+j78ywr94pVuGywAXyM1CIRUC6ZxWpR8gJZXueixFrVE9YNoCvjEmfDrwZZmbqbFegWJWirCymf79Xcj+7YTODWKhWX2qqBkeVTh7rEaauGHXgW8il1vWZZimBl9I8y+wr7TdTcrtYjlQkV3tVKPkpv9Q6mqI1THa/Mxa+i100g3coIaWPELqMErRxUTash1pUFt2VfKdWx6Vr2JYeBS62Aur5LOth3LeJS6tOShqMEtu1UaD2cx5wn4kxEIF3NTXEJEisMSzlWOIrYhTz+lHI6mEIjaBXp095cB9hJr7TQ3QbQZ9Vnt3HtlNEw2qUtVEu8pA+o7LiB5ZAnxGPXdbQ4SXEG+hZCJbOrCrRyfKW7wRrJlWXF8jY+V5u+cNmJRIz3ZtFpY9GtwpG9mytZckkdINL2XQ9vobTSarBN0t9JaCXEHZpp03M3eu296XXb6PWqcPufXSup2tjdJlWH2rVUMRTBpXAekx/A7FhytvgGp6XPbmy6e7PprY8H3Zb54OnJ1DyVsNdK+amUan14Ki1rw9MwYaEYpOWxXZ8g22ak5+aqp1NYY6LiLp1wbzIRbjShjm8jwlFEfC5Q5EU0jJhNoxBRvjFRLfEuJ6rAsTz9cfD+QxX291bm6gwiZKsy3WCpTOJZxPE8QvAPUCbIKBvwb0izctpNm8He2nxuGMJ0j+OIPJmIKkIxpZ7dOp8Sx6LwITBAN8hcDnFjOavJavBxWhzUR5zrF2V4X3x6gBc8fsjkfJZbld9B56Bj6LfHZ6n+X6F3KhBBe8ypZNe2QTbbRjW6kfb59VjyRbNp6PV6y/jeLnAhvmxs8Cr2cntjZFv46RvT+TxRMUz482laQSfrrGzOTofdtbfkhpSbVw6vRAhUb7xMlw8Azel/YuhpaNsoWEM47K7iHHaf+b/R2/8A 0 SQL None f504070f-6735-4eac-af03-356bf72cbb11 2in